Predicate Based on Damage type for custom enchantments

I'm trying to create a custom enchantment datapack that protects against a specific damage type such as magic, or indirect magic, etc. However when looking through the documentation of predicates, the closest thing that I was able to see that I could call is a "damage_source_properties" condition which only lets you make a predicate with "Damage type tags" which group several damage types together (I think). My question is, is it possible to call a specific damage type or types individually instead of using the tag groups? And how would I go about doing that? I also might fundamentally misunderstand how this is working since I'm very new at this. Any help is appreciated, thanks!
Continue to help post