Enum extension + some other scraping fixes

should really be `six.reraise(ValueError, ve, sys.exc_info()[2])`