Something like this?
In the invoices table, first the user selects Service (which is similar to your unique Category), then based on that Job type choices are populated, then Job description.
The only special thing with that template is that if Job type options are all empty, that doc simply reuses Service value as a Job type option — but you’ll easily remove that
P.S. Basically, your formula for select list options would be like:
Category_Table.Filter(Category = thisRow.Category).[Sub category]