Either your list D is already of type days, then
{
List<days> Days = Enum.GetValues(typeof(days)).OfType<days>().ToList();
var D = new days[] { days.sun, days.mon, days.tue, days.wed };
var closed = Days.Except(D);
}
or it consists of strings, then
{
List<days> Days = Enum.GetValues(typeof(days)).OfType<days>().ToList();
List<(days, string)> DaysAndNames = Days.Select(day => (day, Enum.GetName(typeof(days), day))).ToList();
var D = new string[] {"sun", "mon", "tue", "wed" };
var DAsdays = D.Select(d => DaysAndNames.Where(dn => dn.Item2 == d).Select(dn => dn.Item1).FirstOrDefault()).ToList();
var closed = Days.Except(DAsdays);
}
Good luck!