Time-based Alternating Spawn Points - Tricky

For a TF2 map, ima try to have 4 spawn points, A, B, C and D. Now, I want these spawn points to be turned on and off depending on who’s controlling them. However, more than one spawn point can be used at once, and I want you to spawn at a random point that you own. So, I’m trying to think up a system to keep the spawn points “randomized”, by turning the spawn points on and off based on time.

How, using entities, could I switch all of Red’s spawn points and all of Blu’s spawn points on and off based on time, to keep where you spawn randomized.

For example:

Red has spawn points A and B, and Blu has spawn points C and D. So, every 2 seconds or so, it would turn off A and C, and turn on B and D, then switch and turn on A and C, and turn off B and D.

This would also have to work for all possible combinations, like Red owning all four, Blu owning 3 and red owning one, and so forth, and it would have to make sure that each team always has one spawn that they own enabled at once.

Pool thoughts on how to get this to work.