Change the BuildRuleType to a class rather than an enum.

Summary: Currently, all build rule types are enums. Convert to a class so that adding new types requires fewer changes.

Test Plan:
Added a new test class
buck test --all