This is a neat one! I enjoyed the spell-swapping mechanic, and time permitting it could be expanded into giving each spell a bit more of a unique identity beyond a projectile. For instance, giving the flame spell a more continuous, short-range spray (like a flamethrower)! Changes like this could be tied into a simple upgrade tree if needed.
The idea of giving me the opportunity to use the enemy's spells against them was a nice touch. One thing that would have made this strategy more viable is a clearer indication of the enemy charging and aiming their attacks, allowing the player to react and influence the spell. This could even be made as an enemy variant, adding a bit more variety to the core game-loop.
Well done all around!