One way to create a filtering system that counts the results per category is by creating a Contextual filter for the type with the Summary option.
This will list all the types as links, and show the number of results next to each type name. When you click through those links you will see the results for that one filtered type under the Format you set in Views.
You can list all the results below the Summary if you use different displays as Blocks/Attachments and display them together. There are many different combinations how to configure this, details depend on your particular needs.
Another way to count the results according to some categorization is with Aggregation. When you turn it on in your Views all fields and filters get the neutral "group" setting. The field related to your rows (node ID, title, etc) can then be set to Count under Aggregation settings which will display the number instead of the actual field output. You have to be careful about the other fields you show because they can "break" the aggregation into individual rows instead of collapsing into one value of the counted items.
Sorting can affect Aggregation negatively so remove sort criteria while building the Aggregation.
After you get the count numbers, you can maybe group by the type field (under Format), and you can Rewrite output of fields to show the count where you want it, again it all depends on your needs.