#showtooltip
/dismount [mounted,noflying] [button:2,mounted]
/use [nomounted,flyable,nobutton:2] Golden Gryphon; [nomounted] Swift White Steed
The macro is 190 characters, so by changing the 'use' to 'userandom' and adding multiple mounts, you can make it a bit more fun.
This macro uses your flying mount when it can be used, and your non-flying when it cant. It also uses your non-flying if you right click the macro. Clicking the macro will dismount you, unless you are flying, however right clicking it will dismount you, even if you are flying.