How does DamageType work?

Say I make a setup where I can select a specific DamageType, for example in a data table. I get how I can get class default data, but how do I access functions inside that DamageType Class without instancing? (I assume that “construct Object from class” is the same as instancing?)

What happens between the apply damage -> ? -> Event Any Damage?

I don’t really want to use them as an enum, I’ve been down that route. Trying to keep logic away from the character, trying to keep helper actors low and trying to not create a bunch of UObjects all over the place.