Can a macro be assigned an enum in a library?

OK, I see where you're going with this in your example, so I change the header and .cpp file and then made a quick sketch:

library.h:

#ifndef Library_h
#define Library_h

class Library {


public:
    enum options {
        OPTION1, OPTION2, OPTION3
    };

    Library(unsigned long time, char color, options option);

private:
    unsigned long timeValue = 0;
    char mainColor;
    options userOption;
};
#endif

library.cpp:

#include "library.h"

Library::Library(unsigned long time, char color, options option) {
    timeValue = time;
    mainColor = color;
    userOption = option;
}

Sketch:

#include <library.h>

Library go(100,4,Library::OPTION2);

void setup() {

}

void loop() {

}

I didn't see in the example you made, where there was any definition for Library::OPTION1

And when I try to compile the sketch, this is what happens:

/var/folders/vb/rq_5f8jj11v06z8yq8pg3hdh0000gn/T//ccFt5nhS.ltrans0.ltrans.o: In function `__static_initialization_and_destruction_0':
/Users/michael/Arduino/test/test.ino:3: undefined reference to `Library::Library(unsigned long, char, Library::options)'
collect2: error: ld returned 1 exit status
exit status 1
Error compiling for board Arduino Nano.