This macro will randomly call any mount listed as a number in between the { }
/run if (not IsMounted()) then local t = {2,3,4} CallCompanion ("Mount", t[random(#t)]) else DismissCompanion("Mount") end
Enter the number of the mount as it appears in your spellbook. If the first mount listed in your spellbook is the Abyssal Seahorse from Vashjir, that would be 1, and if the second mount is the Albino Drake, it would be 2, etc. If you want the Albino Drake in your macro, input the number 2 in the number section between the { }. Add additional mounts by separating their corresponding number with a comma.
It can be difficult counting the number of each mount as it appears in your mount tab but it will work. When first creating it, I would suggest adding only one mount and try it to make sure you have the correct corresponding number to the mount you want. One thing you will need to watch for is getting new mounts. It will mess with your ordering since the new mount will be added alphabetically and increase the number value of any mounts listed after it, meaning you may need to modify your macro.
Have fun!.