I would like the ability to more flexibly create dynamic jobs.
Consider a scenario where one has 2 different tag categories: RPO (tags: 4h, 24h) and Encryption (tags: true, false). One could simply create a single category with all 4 combinations, but then if you wanted all 4h RPO VMs, you must search for 4h RPO & encryption TRUE as well as 4h RPO & encryption FALSE. It complicates things in the future by restricting the flexible nature of tagging.
One could easily add more categories, such as "App-Aware", "Compression Level", really imagination is the limit (okay so the hard limit is probably specific to the number of job setting permutations, but that's pretty high).
Theoretically, with those 2 categories, one must create 4 jobs. One must manually exclude VMs that do not belong in a specific job, for example if you're targeting your jobs based on the RPO, you must manually exclude the VMs which requre or do not require encryption, one for each of your 4h RPO jobs.
Consider, however, the ease of using something like an inner join. All VMs which are a member of group 1 and group 2 (...and 3, and 4.... so on and so on). Or a left join: All VMs which are a member of group 1 but not group 2. You still have the same number of jobs, but now nothing is manual. As soon as you update the tag, the job accurately reflects the change as well.