Hi Mike,
Thinking aloud here ...
...AppleScript can see whether a table has a filter set or not, but it can't set a filter.
...Though AppleScript can't set a filter, it can initiate a sort of a table.
...AppleScript can't hide a row but can remove a row.
So it seems the best option would be to grab the values from rows with a particular category and place them in a new table. That's not hard. But it might be a little clunky.
But first, if you just want to be able to instantly see rows that have a given category, have you tried the contextual drop down menu behind the triangle by the column letter (as opposed to using the filter panel at right). That may give you close to what you want.
That's manual, of course. You mentioned something more automatic like a Smart List. That is possible, not via AppleScript, but by adding an "index" column to the data table and setting up a table with formulas that continually extract values from the data table.
Post more on what you're looking for and we can post potential solutions.
SG