Discoverability can be configured in zsh as part of completion system. I've found that this covers many of my needs:
% grep -<TAB><TAB>
--after-context -A # specify lines of trailing context
--basic-regexp -G # use basic regular expression
--before-context -B # specify lines of leading context
--binary-files # specify type to assume for binary files
--byte-offset -b # print the byte offset with output line
--colour --color # distinguish matching string
(...)