I think the 'CharEnemy: Add obstacle CharEnemy' is stopping them moving as they see themselves as obstacles.
Also using groups like that won't really work. What if one enemy is in the chase phase and another in the lost phase and another not chasing at all. Which groups do you have active? If one enemy is in the lost phase and it's AlertState goes to 0 then it deactivates the LostChase group and any other enemies in the lost phase are stuck then since the event to lower their AlertState is deactivated.
Better to just put use the ChaseStatus variable to determine which events should run.
+CharEnemy: ChaseStatus = "IsChasing"
-> chase phase events
+CharEnemy: ChaseStatus = "LostChase"
-> lost chase events