Dealing with multiple enemies without decreasing FPS

I’m thinking of doing a tower defense game where multiple enemies spawns at the same time. In the past I’ve used an character blueprint for enemies, but this causes a very large fps drop if there is a lot of enemies in game. So I want to use an other type of blueprint this time. All the enemy needs to do is: have an walking animation and be able to move from one location to another. Should I use an actor or pawn blueprint? One problem that I have, is that the enemy should walk with a certain speed. Which changes from enemy to enemy. The good thing about character blueprint is that it has character movement, so I can change its move walk speed. But what about an actor or pawn? How do I change the movement speed for they?
And how should I make the enemy move? Should I use move to location, or ai move to? I was told to use a pawn and use ai move to, and use a character movement, but it seems that character movement ruins fps.