C++ static array of enum?

I created a helper function:

	template<typename T>
	TArray<T> EnumGetList(const FString& enumName)
	{
		TArray<T> lResult;
		UEnum* pEnum = FindObject<UEnum>(ANY_PACKAGE, *enumName, true);
		for (int i = 0; i <= pEnum->GetMaxEnumValue(); ++i)
		{
			if (pEnum->IsValidEnumValue(i))
				lResult.Add(static_cast<T>(i));
		}
		return lResult;
	}

An use it like this:

auto lEnums = Utilities::Conversion::EnumGetList<EMyEnum>(TEXT("EMyEnum"));

for (auto i : lEnums)
{
	MyFunction(...)
}