From your list I've only tried VirtualBox and the experience wasn't so good, bad performance and many outright crashes.
Fusion was quite pleasant to use for my main work system. Make sure you give it enough RAM _and_ that you keep enough for the host, especially if you intend to also use it at the same time (I used to do 8GB and 8GB).
https://www.vmware.com/products/fusion.html
From your list I've only tried VirtualBox and the experience wasn't so good, bad performance and many outright crashes.
Fusion was quite pleasant to use for my main work system. Make sure you give it enough RAM _and_ that you keep enough for the host, especially if you intend to also use it at the same time (I used to do 8GB and 8GB).