Никак. Тип enum - это набор констант для удобства написания кода. Твоё morskaya_svinka - НЕ строка, которую можно вывести, а имя константы имеющей значение 6. И это имя (так же, как имя переменной moy) существует только в исходном коде программы и использоваться может только для подстановки числа 6 в выражения.
Хочешь выводить строку по коду - придётся вручную прописать соответствия
код->название в структуре вида: map<int, string>.
map<TipJivotnogo, wstring> type_name{
{TipJivotnogo::Koshka, L"Кошка"},
{TipJivotnogo::Sobaka, L"Собака"},
{TipJivotnogo::Ribka, L"Рыбка"},
{TipJivotnogo::Popygai, L"Попугай"},
...
};
...
wcout << type_name[moy.tip];
P.S. Фактически, enum является просто более короткой записью последовательно нумерованных констант:
const int Koshka = 0;
const int Sobaka = 1;
const int Ribka = 2;
const int Popygai = 3;
...
Как сделать, чтобы он выдал не 6, а то, что стоит на 6 месте?