Q:

Correct way to initialize Enums inside a class constructor

I could be looking at Enums in the wrong way but want to make sure I have the right theory in how to use them.
Say we have an enum called Colour.
enum Colour { Red, Green, Blue };

Red Green and Blue are represented by there 0-255 values.
I'm trying to initialize this enum inside a class shape and I'm not really sure how to go about it.
public class Shape
{

    Colour colour;

    public Shape(Colour c)
    {
         //Some attempts at initialization.

         //Treating It like an object
         this.colour = 
            c{
                255,255,255
            };

         //Again
         this.colour.Red = c.Red
         this.colour.Blue = c.Blue
         this.colour.Green = c.Green

         Colour.red = c.red?

         }
    }
}

I'm probably way off in terms of how I'm thinking about enums. Can anyone give me some pointers?

A:

In this case, you might want Colour to be struct instead of an enum. In C#, enums are single-valued constructs, but you have three values (red, green, and blue). Here's what I might do instead:
public struct Colour 
{
    private byte red;
    private byte green;
    private byte blue;

    public Colour(byte r, byte g, byte b) 
    {
        this.red = r;
        this.green = g;
        this.blue = b;
    }
}

public class Shape
{
    public Colour Colour { get; private set; }

    public Shape(Colour c)
    {
        this.Colour = c;
    }
}

And then when you're creating your shape objects:
var shape = new Shape(new Colour(203, 211, 48));

EDIT: As Chris pointed out in the comments, you could simply use the System.Drawing.Color struct provided by the framework. The example above would be simplified to:
using System.Drawing;

public class Shape
{
    public Color Colour { get; private set; }

    public Shape(Color c)
    {
        this.Colour = c;
    }
}

var shape = new Shape(Color.FromArgb(203, 211, 48));

