Boolean dependencies are supported since RPM >= 4.13
http://rpm.org/user_doc/boolean_dependencies.html
I find this very useful, when it come to rely on a specific Java version for example, as too many Oracle, OpenJDK...savors exist and without this ability it is impossible to produce RPM builds having a great compatibility among all the Debian based Linux distributions or avoid unecessary dependencies download.
EDIT:
Recommends and Suggests dependencies types implementation should be great as well π