This is mainly to do with what class you're already playing for example for me:
Scout< Pyro, Soldier
Soldier< Pyro, Engie
Pyro< Engie, Sniper
Demo< Pyro, Spy
Heavy< Sniper, Spy, Engie
Engie< Every fucking class
Medic< Pyro, Spy, Sniper
Sniper< Spy, A Better Sniper, Scout
Spy< Pyro, Mad Milk...