Best way to store/manage large number of actions for AI to chose from? (Are tables possible?)

I want to build an AI character with a lot of different actions/attacks it can choose from depending on its environment (for example distance to target and angle to target). The intuitive way for me to do this would be some sort of table lookup - select all actions where the conditions match and choose one at random:

action1 | distance 10 to 50 | angle -10 to 45
action2 | distance 50 to 90 | angle -45 to 45
action3 | distance 10 to 90 | angle -90 to 10

So what is an elegant and easy to maintain way to do this in UE4? Is there something similar to a table-query? Or are there better ways to solve this? Of cause I could solve it with a lot of branches, bit I think this would get messy real fast. So what is the best way to manage a large (probably 30 to 40) number of possible actions?