Set of Enum in generic
## Summary
I have a function and this function only specializes with enum types and I do not want to make a set for each.
The normal way of declaring new set type (S3 in the sample) is not working.
@martin_frb kindly suggested the S2 way at the [forum](https://forum.lazarus.freepascal.org/index.php/topic,64758.0.html).
## System Information
Lazarus 3.99 (rev ca9f504a0d) FPC 3.3.1 x86_64-win64-win32/win64
## Example Project
```pascal
program Project1;
{$mode delphi}
type
TEnum = (A, B, C);
procedure Test<T>(E: T);
type
S1 = set of TEnum;
S2 = set of Low(T)..High(T);
S3 = set of T; //Error
begin
end;
begin
Test<TEnum>(B);
ReadLn;
end.
```
## What is the expected (correct) behavior?
I think the S3 way need to be compiled too.
issue