improve enable_if_X templates for boost