As of late, whenever I try to make a class-based TDM or what-have-you, I've had to use VCE to do so. This works, but it's quite tedious and a pain to modify. Here's what I suggest to make it easier.
When a player enters a server, a GUI pops up on their screen with a list of classes and an "Ok" button. When a player clicks on a class name, it highlights and the loadout/playertype of that class is displayed to the right in it's own list. When the player is satisfied with a class, they click "ok". Whenever they spawn, their playertype and loadout automatically change to that of the class. Also, when a player first joins the server they are unable to spawn until they pick their class.
Classes can be customized from another GUI only admins can access. It would have appropriate boxes to add a title for the class, the playertype and up to 5 tools or weapons. When they finish customizing a class, it is added to a list that all clients can access. The admins can also delete classes from the list.