You could use show custom dialog with an input field for this, but then you can't use your value list to eneter the category--which means your user might not get the desired results due to a typo.
But you can use the New Window scripts step to open a new window and can follow that with go to layout to specify a layout for that new window.
You can place a field with global storage and formatted with your value list on that layout so that the user can click a button that opens this window and then the user selects a value from a value list and clicks a button to close the window. That button would close the window and then perform a find on your report layout to find all records that are a part of that category.
Here's a thread of scripted find examples that use data in global fields to construct find criteria and then they perform the find: Scripted Find Examples