I made a bunch of assumptions about your codding standards, style and structure so hopefully this matches what you're going for.
Similarly, I made some assumptions about the categories you had in mind and even expanded it to the Actors dialog. I'm not sure how you plan to model vehicles but I assumed they might be modeled as actors.
There's some repeated code on the Hook, but in my mind abstracting/extracting it would require for the localized string and list of options to be passed as an ordered map. That seemed like too much for what it's actually doing but ymmv, let me know if you would prefer that.
I followed the PF2 pattern and appended a class to the dialog and that's what I'm using to detect which dialog is open. Alternatively I could find the select and check the options on it but that seemed finicky compared to this solution.
First, a couple of pics of how it looks:
Now, a few things: