add enum use and reflection use