I usually have a Dash Animation.
When the Dash Animation is playing, I change the max speed of the player. Also, I set the max fall speed to 0. Then when the Dash Animation is not playing, I change the max speed and max fall speed back again. To decide how long the Dash is going to last is determined by how long the Dash Animation is playing.
The enemy will be destroyed if the player is overlapping the enemy AND the Dash Animation is playing.
You can do this (Dash) in many different ways but this works for me. I made a quick example for you.
drive.google.com/file/d/14HdjWE1Eh0peM5k9N63UUe9-ZJ13GIX-/view