Add enums package, initial full implementation of discover() & crawl()