C#
By using 7 that is allowed by question, start everything of wordcount from "0000"
int four ="0000".Length;
int eight = four + four;
int fifteen = eight + 7;
int sixteen = eight + eight;
int twentythree = sixteen + 7;
int fourtytwo = four + fifteen + twentythree;
List<int> list = new List<int> { four, eight, fifteen, sixteen, twentythree, fourtytwo };
//while (true) //for (; ;)
//{
// foreach (int number in list)
// {
// Console.WriteLine(number);
// }
//}
//infinite loop via number 0,7,9 that are allowed
//for (int i=0; i<7; i++)
//{
// Console.WriteLine(list[i]);
// if (i == (7-9+7))
// i = 0;
//}
for (int i=0;;i++)
{
Console.WriteLine(list[i]);
i = i % (7-9+7);
}