The overall idea
When it comes to building enemies, or AI in general, you have to understand the whole game, its concept, and the game design, probably through the Game Design Document (GDD). Knowing these aspects earlier will make the job easier for you and your team, and for the plan that you'll come up with in order to construct a whole AI system.
In general, there is one thing that has always been almost the industry standard: basing everything in inheritance classes. This really makes sense, as all enemies, regardless of their types or behaviors, have to share something at the end of the day. It's where you have to create a base AI class and inherit all the enemies from it. Or it might be more detailed; if the enemies themselves are from different classes, let's say animals, humans, and mechanicals, then you need a class for each, inherited from the base class, and then the enemies themselves will be inherited from this first inheritance. Something like this:
It doesn't have to be exactly...