added use case and new enum and util class
Merge remote-tracking branch 'choose_remote_name/master'
use case