There are a lot of possibilities here depending on the kind of behavior you want these enemies to have. For instance, if and enemy is within X distance of player and is overlapping another enemy at X offset, the enemy could switch to an attack state at that point, rather than continuing to move to it's pre-set destination. It could also just wait in a queue to attack if the enemy doesn't have ranged attacks (which would mean going to your initial action setting it's state and adding logic to account for whether it is overlapping an attacking enemy and within X distance of the player).
Do these ideas help?