From the Other Actor on the component hit/overlap node, you could cast it to a class, if it fails, try casting to another, if it fails, cast to another, and so on. Eventually it should work on something.
It will pretty much work the same as your branch idea. Not sure if it’s the most efficient way though.
You could also create a custom object response for certain things, that way, only collision with certain objects could trigger it.