Use enable-if instead of tags

Still need to clean things up a bit with how code is organized