You could try the custom movement behavior's push out action but that doesn't work too great for moving objects.
One idea is to treat the enemies and player as circles. Then see if they collide if any two of them have a distance between them less than the sum of their radius'. Then the overlap between them would be radius1+radius2-distance. To resolve the collision just move each object half of the overlap away from each other.
Also you'll want to either set the speed to zero, bounce the objects or only set the velocity in the direction of each other to zero. The last two can be done with the help of a vector projection:
Speed_at_angle= velocity_x*cos(angle)+velocity_y*sin(angle)
Then you can eliminate speed in that direction by:
set velocity_x to velocity_x-Speed_at_angle*cos(angle)
set velocity_y to velocity_y-Speed_at_angle*sin(angle)
or to bounce do:
set velocity_x to velocity_x-K*Speed_at_angle*cos(angle)
set velocity_y to velocity_y-K*Speed_at_angle*sin(angle)
Where K is 1 for no bounce to 2 for fully elastic bounce.
I have an example of it in the first capx in this topic:
and a more advanced version of the walls can be found here:
But there are probably other ways.