Let's say I am detecting options of a program.

These options can be enabled, disabled, or not possible if the programs version number is below a certain limit.

I need to set it to null if the option is not available.

Now, I have two ways to go.

First one:

```
bool? option;

```

Using a nullable bool gives me the ability to set my option to true, false or null. This would work great and fulfill my requirements.

However, I could also use way two:

```
enum{
    unavailable,
    enabled,
    disabled
}

```

Or something similar to that. 

Now, if I have the choice, which one is better in terms of memory usage, accessibiliy etc.?

I would say the nullable bool is way easier to use, but I have seen a lot of people being very negative towards nullables, prefering the enum way by alot.

Can anyone clear me up on this?