So for anyone else having this error, this was a doozy. In this instance, for some reason apache has created an actual file in the /etc/apache2/sites-enabled/ folder (not be be confused with the sites-available folder). You need to delete the virtual-hosts.conf file from there:
sudo rm /etc/apache2/sites-enabled/virtual-hosts.conf
and then run:
cd /etc/apache2/sites-available
sudo a2ensite *
This will create a symbolic link in the sites-enabled folder (so it’s not longer a “real file”).
I've have no idea how this happened as I didn't even know the "sites-enabled" folder existed so certainly did put anything in there!?