Upgrade pathing works the same as in default Civ. So that Grenadiers (who only have one upgrade: Infantry) can upgrade to infantry, and are no longer available for building once infantry become available. If you still have some grenadiers around when you get Industrialism, they can then be upgraded to Infantry or Marines, or any other unitclass that infantry upgrade to. Nothing has changed in this regard from regular old civ. The only change I'm making to upgrading (which isn't out yet) is that if a unit upgrades to a new UnitCombatType it will cost twice as much, I will likely reduce the overall cost of upgrading by 20% or so to account for this (which fortunately is actually easily changeable in the XML, as that's just a strait value that uses an XML set variable, the whole changing cost thing when a different UnitCombtType results is a function, which requires real programming in the SDK or Python, I'm using the SDK here).