.Net - Casting Using a Type variable

Type type = typeof(MyEnum);
var stringList = new List<string> { "First", "Second" };
var typeArray = Array.CreateInstance(type, stringList.Count);
var objectArray = stringList
    .Select(val => Enum.Parse(type, val))
    .ToArray();
objectArray.CopyTo(typeArray, 0);

This is the cleanest way I've found to cast a Type variable. I'm using an Array (since that is what I needed for my case) but you can call Array.CreateInstance(type, 1) if you just have one variable.