Any way to check what block's just been mined?

Trying to make an enchantment, which should only take effect when mining one of a list of "valid" blocks. I have already defined an enchantment with the minecraft:hit_block effect component, which triggers a function to be run. I have already created a tag that includes all blocks considered "valid". To make this function run only when a valid block has been mined, I initially thought I would have to use a predicate, but if I'm understanding this right, there aren't any predicate conditions that will do what I need? The closest is block_state_property but that seems to only check individual blocks by their IDs.
Continue to help post