There's no reason to disable any spawn rooms themselves, in fact you want to keep them enabled so you get stuck in one and the other team is camping, you can change class and reappear back at the first spawn (that's a protip for well and badlands
)
You just want to disable and enable the teamspawn entities themselves depending on which spawnroom people should be spawning in. You can name each of the info_player_teamspawns the same thing for each spawn room, such as teamspawn_blue_1 for the first spawnroom and teamspawn_blue_2 for the forward spawn. When blue caps the required control point, enable teamspawn_blue_2 and disable teamspawn_blue_1. You can do this by using the "OnTeamCap2" output for the control point. Do the same thing for red team, except they use the "OnTeamCap1" output. These outputs go on the control point that decides who gets the forward spawns.
At the same time blue gains a forward spawn, that probably means you'll be taking one away from red, so in the same way you enabled the blue forward teamspawns, you need to disable the red forward teamspawns and make them spawn back at the first spawnroom again.
Depending on how your map is set up, you might have to disable or enable doors as well. You can also make the forward spawn doors one-way and not worry about it, like in granary. Or, you could make the forward spawn always accessible, like at cp_well point 2 (this doesn't mean you always would spawn in it, however, only when you enable the teamspawn entities).
Does this all make sense?
Condensed version: Only enable and disable info_player_teamspawn entities. If necessary, enable and disable doors.