This is absolutely possible with Craft & Commerce.
First, you would set up your categories group - say, Product categories. You can add custom fields to these categories, for example an image field for an image that represents the category.
Then, you'd enter your category data - categories are inherently hierarchical (well, taxonomical really) - so it's easy to set up Parent -> Child structures.
Next, you would add a categories field as a custom field to your products when setting them up in Commerce.
Then, when you enter your products you can choose which category (or categories) the product should be in.
Finally, you would set up templates to actually display all this: probably one template to display the parent categories list, another to display which user chosen sub-category is required, and then finally templates for your product grid and most likely another for your actual product pages.
It sounds like a bit of a process spelled out like that, but if you step through setting up the fields and entering some data, and then start with very simple templates to just list out the things at each stage, you will find it is quite easy to set all this up - the only complexity really comes from the design angle -> i.e. making it look and work nicely!
Good luck with it!