How to distinguish NPCs within lua

So I have an entity that is a random combine soldier, I want to be able to tell if it is an elite soldier, shotgun soldier or regular soldier. When I do ent:GetClass() it returns “npc_combine_s” for all soldiers, when I do ent:GetName() it returns nothing. So how can I distinguish them?

GetModel()

Yea… Didn’t thought about that one, it’s not perfect but it will suffice perfectly, thank you.