For now, I’m taking the following approach:

  • Use a Cache data type to store the results of a backend workflow getting the categories and fields I need.
  • Have a backend workflow that periodically updates the cache table with the latest categories.

This way I can just do a search for the cache values from the cache table and not have to worry about performance and burning through work units.

Is there a better way to do this?