On Yet another note:
The firewall spell would be pretty useless in a multiplayer game. All enchantments would be. Dispel anything you want before you attack, and then it's a back and forth cast/dispell fest until one side runs out of mana.... BORING!
A player should be able to Fortify a spell on a city with their own mana. Put XXX mana directly into the spell and remove the mana from your pool, or ensure you have it on hand and not directly subtracted from your total mana into the "fortification" of the enchantment, so that an enemy dispelling it would have to cast dispel costing a Certain multiple of the mana that the target invested or has allocated.
For example. I cast Firewall with +15(or any high number) fire power. You better believe the enemy better dispel that shit, but I invested 500 Mana into the spell to fend off dispel being cast. Ignoring all other spells. So an enemy targets my heart of life spell (the one that gives regen to the units) and I didn't invest any mana into it at all, so it costs the enemy 1 mana (or the base casting cost, whichever works best for balance) to dispel.
They try to dispel the firewall spell and are told it would cost 500 mana Times say... 1.75 + the casting cost, and the enemy decides to let that enchantment stand. I may be invested in having grain or some other enchantment on my cities and want to protect them.
Also you can have items, buildings, skills and various researched levels of Dispel that lower the multiple from 1.75 to even a reduction of say 50% from the invested mana to defend it.
If a player doesn't have enough mana and I chose to have 500 mana to back up an enchantment and I've been cast happy and only have 400 mana. Have it so my failure to enough mana to back my fortification results in a mana feedback destroying 1/2 of what I have in mana, and the enchantment is destroyed and the enemy only had to spend the original basic dispel spell amount.
When an enemy is trying to dispel they get a message saying "you feel this is a pathetic/weak/moderate/strong/Epic/Legendary" defense on the enchantment, and dispelling it would cost between "some range" based on your assessment. The more skilled a caster is, specialization, etc. the more accurate the guess is, and if a caster guesses less or uses too little their mana is consumed and the spell fizzles. Guess right or over, and the spell goes through mana is spent and the defender loses the enchantment with the fortification.
Defenders can have buildings, skills, traits, units... all that augment enchantments passively.