Words that end in -Cy regularly go to -ies, while those that end in -Vy regularly go to -Vys (where C means a consonant and V means a vowel).
- bunny > bunnies, telly > tellies, category > categories
- Monday > Mondays, boy > boys, monkey > monkeys
But money > monies is irregular.
You could write
- Please select your preferred category or categories.
- Please select your preferred category(-ies).
- Please select one or more categories.
If you have a computer program that does the equivalent of:
printf("%d %s(s) selected.\n", count, thingie);
Then you are automatically doing it wrong. A computer should know how to count. And inflect. It is pure stupidity on the part of programmer to write
1 file(s) deleted.
That sort of thing is extremely aggravating. Please do not do it. In the specific case of having a category for a thingie, you would use
printf("%d categor%s selected.\n", count, count == 1 ? "y" : "ies");
Accept no substitutes.
In the more general case, you need an English noun inflector.