My proposed solution is renaming all the spawn units to a standard generic name. Thus knight would become "Heavy Melee" or "Heavy Melee (knight)." This way a player can just select the unit and know what it is. Then the spawn tower tooltips would be altered to describe the counters.
Knight = Heavy Melee
Elite Archer = Elite Ranged
Priest = Hexer
Dragonhawk Rider = Air Support (may need better name)
Ballista = Siege
Druid = Caster
Tooltips:
Heavy Melee Spawn Tower
Strong vs Elite Ranged, Siege
Weak vs Hexer, Air Support
Spawns heavy melee units waves, they are durable, high health, melee units.
Elite Ranged Spawn Tower
Strong vs Air Support, Hexers
Weak vs Siege, Heavy Melee
Spawns elite ranged units, they are high damage ranged units which do siege damage to buildings
Hexer Spawn Tower
Strong vs Heavy Melee, Air Support
Weak vs Elite Ranged, Siege
Spawns hexers, they have the ability to polymorph enemy units
Air Support Spawn Tower
Strong vs Heavy Melee, Siege
Weak vs Elite Ranged, Hexers
Spawns Air Support units, they are flying units which deal splash damage
Siege Spawn Tower
Strong vs Elite Ranged, Hexer
Weak vs Heavy Melee, Air Support
Spawns siege units, they are effective against buildings and do splash damage
Caster Spawn Tower
A unique racial unit with a number of spells at its disposal