I have spent HOURS tying to figure this out and I think I've finally come with an answer/explanation that makes sense.
'Enemy', as used in this sentence, is a collective noun. It represents a surplus of people. So the wording IS correct, when you consider that the subject is plural: " The enemy have driven..."
But I got to thinking, when I take another collective plural, such as 'police' and put it into a similar sentence: "The police have driven the suspect into custody", it sounds right. So why does " the enemy have driven..." sound so wrong?
My answer is this: while the word enemy can refer to a single person OR a group of people, my ear/brain recognizes it as singular. Whereas police, I hear and instantly think plural.
So while the phrase is grammatically correct, it sounds wrong to my ears/brain, as I have been trained to view the word in it's singular form rather than it's plural.