so you got a table chart (pivot or straight table chart) with dimension product, correct?
For a table chart, you could use a calculated dimension (add calculated dimension in dimension tab of chart properties), like
=if( categorie = 'cat1', product)
You could create 4 table charts, 3 with calculated dimension like above (replacing cat1 with cat2, cat3), one with a plain dimension product (for all categories).
Then you have four tables, 3 of them filtered by category. You could then use a container object to include these 4 tables, having tabs to switch between the filtered objects.
Just one idea of how you could maybe achieve what you want,