Crack the coconut open. Cut it in smaller pieces, scoop out the meat and grate about half of it.
Combine the sugar, water, and cloves in a saucepan and bring to a boil, stirring constantly. When the sugar is entirely dissolved, stop stirring and allow to continue boiling for a couple of minutes.
Reduce the heat to low. Remove the cloves. Add the grated coconut and mix well. Continue to simmer, stirring frequently, for about 10 minutes. Remove from heat.
Separately, beat the egg yolks until they thicken. Stir in about ½ cup of the syrup and mix, making sure that the egg yolks don’t curdle. Pour the mixture into the saucepan with the remaining syrup and stir thoroughly until reaching a homogeneous pudding texture.
Simmer for about 10 minutes, stirring frequently until the pudding is thick enough. Serve the pudding into individual serving bowls.
Serve warm or place in refrigerator to serve cold. Sprinkle with ground cinnamon at time of serving.