Add a method `public IEnemyState CreatePlayerReactState()` to the Enemy class. For one enemy, have it return a `DefenseState`, for the other enemy, return an `AttackState`. You can implement that by creating two subclasses of `Enemy` with different implementations of that method, or by adding a private variable to `Enemy` which says how it reacts to the player. Then, in your method which detects the player, do `enemy.fsm.ChangeState(enemy.CreatePlayerReactState())`.