changed enum to map per discussion