Writing a custom Glossary plugin

Since, presumably, there would be no more than one image per glossary entry, I would use a custom post type. The CPT should support a featured image, title, description, and excerpt, parents are not necessary, but might make it easier, depending on how your design plays out.

To allow categorization of these, I would incorporate a custom taxonomy, maybe two, depending on how you want to do it. A hierarchical taxonomy is a must, as it will allow you to categorize between species, etc and will give your posts logical organization. A non-hierarchical taxonomy might be something to consider. A non-hierarchical taxonomy would allow you to group things a bit more abstractly, for example: you could use the hierarchical taxonomy to do things like fresh vs salt water fish and the non-hierarchical one to do things like colors and descriptions. This would allow users the ability to drilldown if they knew exactly what they were looking for, or the ability to peruse if they didn’t have much of an idea (“I wonder what other fish are blue” sorta thing)