You can use regular expressions to constrain your route values:
routes.MapRoute(
name: "example route",
url: "product/{subcat}",
defaults: new { controller = "Redirect", action = "ProcessPage"},
constraints: new { subcat = @"^subcat\d*$ }
);
I've assumed here that the constraint is "subcat" appended with an integer (that's the best I can extract from your question) - modify this to meet your requirements. If you need an explicit set of values, you can just use the regex OR operator with your list of accepted strings:
@"^subcat1|subcat2|subcat3$"