BuildTool and BuildJob classes

And add enum types.