1. You could use a calculated dimension ( if(Category='Etc', Team) ). But I dont think it is a great solution because you get empty columns.
2. You could use a macro and a button.
set Graph = ActiveDocument.GetSheetObject( "CH04" )
3. You could create several pivot tables and only show one, depending on a condition (->Chart Properties->Layout->Conditional).
All three options arent optimal, so maybe someone can come up with a better solution
I go for the several pivot table option because its easier to implement, but it does give you a maintenance problem in that you have several objects to maintain.
I did try the macro method of dynamically adding/removing columns to pivots and straight tables and I came across so many problems with it that I gave up.