How to show or hide widget only on selected site pages
To manipulate with the appearance of the widgets you can use next plugin:
Here you can find woocommerce conditional tags: https://docs.woothemes.com/document/conditional-tags/
For example you can create different filters by shortcode [woof] for each category page using its attributes tax_only and by_only. Then drop usual text-widget on the sidebar and write there shortcode with its attributes. After that write in the widget-logic textarea condition to display current widget on the selected page(s) only.