refactor sql report columns to have a more explicit class hierarchy