Regarding ways to stop it after the ability has activated, there's a couple ways you can go about it. An "Interrupt the Battle" ability will interrupt his ability, and you can also stop him by directly negating him (or all cards in battle). You cannot use a "negate enhancement" ability, because Enchanter is not playing an enhancement, he's just discarding one. If Enchanter is negated, or the battle interrupting, the enhancement Enchanter would have discarded goes back in that player's hand.