Hmm... well I've always liked the object oriented structure.

Basically make all your defined enemies into their own 'files' so you can mix and match any way you like durring level design. Same wit hyour good guys so that you can dynamically load them depending on if the player has a choice of which character to choose OR how they are required in each part of the game.

Maps can be seperate files containing events and triggers that can then point to your good guys and/or enemies, items, etc... and of course include your win/loose conditions in the map files so that it's all tied together.

Of course this is all up to interpritation since I don't know how your game will function. It can varry a lot depending on how the gameplay will work.