Just base the report off of a query that links to the form where they select the category. You can write the criteria in the query to pick the selected category or to run normally if the field is left null (select all categories). I believe the syntax you would write in the criteria of your query is below:
Like IIf(IsNull([Forms]![Form]![Category]),"*",[Forms]![Form]![Category])