refactored value provision - replaced field with enum
fixed failing tests and some bugs in value provision