名前が決まってるのが普通だから定数の値を取り出すのにconstantは
使わないし、必ずtrueかfalseで定義してあるはずのものならいちいち
definedでチェックするなんて冗長なこともしない。

if (ENABLE_HOGE) {

だけにすると思う。マニュアルにも

constant() はある定数の値を取得する必要があるが、 その名前が不明な
場合に有用です。これは、定数名が変数に保存されているか、 関数により
返されるかの場合です。

って書いてあるしな。そしてそんな必要に迫られたことはないので一度も
自分では使ったことないわ。

あとそもそもdefineも使わないなー。大抵クラスにするのでクラス内でconst。