I just created an external filter that filters columns based on the type of the data in that columns. One of the cases, is having categorical data, which would work the way you want. It also works for other types, like numeric, datetime, boolean.
Here is a link to the code, as well as a short video showing how it works.