That depends. I think we shouldnt play classes we need to win (unless its competitive), I'll usually play what I feel like playing in casual, but the classes I find most enjoyable from most enjoyable to least:
1) Sniper - I'm a sniper main, it's just really satisfying when you're in the zone and popping headshots left right and centre.
2) Soldier - Rocket jumping is so fun, that's just straight up the main reason why I play soldier. I guess I love the rocket launcher aswell, especially with a pocket medic.
3) Demoman - Sticky jumping is really fun to learn, and demoman just too OP.
4) Spy - He was one of the first classes I played back when I joined in 2016. I love the ability to make the enemies paranoid.
5) Medic - I dont know why but I love playing medic, I mained him for a short while before slipping back down the slippery slope of "OMG SNIPER IS SO GOOD".
6) Scout - I love his speed, and winning scout 1v1's is really satisfying, also having the ability to out power every class (except a natascha heavy, because, natascha) is amazing.
7) Pyro - Never really played much pyro, I only really started playing him at Jungle Inferno (R.I.P Amby, why is the diamondback still God tier? It should've been nerfed, the Amby was fine), I guess being able to reflect jump is fun? Even though I suck at air blasting.
8) Heavy - Never really got into heavy, hes so slow and its just really hard for me, I love being able to take my enemies out at long ranges or get there fast.
9) Engingeeer - I don't like engineer, I hate restricting myself to my nest, I respect people who can play engineer properly, I just never bothered to learn him I guess. I find it boring to set up nests and wait, most of my entire 5.4 hours on engineer are from meming on the community I started TF2 on and helping engines build teleporters in warm up on casual.
I really enjoy the first 6 and it was hard to figure out what positions to put them in.